Formal Derivation of Divide-and-Conquer Programs: A Case Study in the Multidimensional FFT's

نویسندگان

  • Sergei Gorlatch
  • Holger Bischof
چکیده

This paper reports a case study in the development of parallel programs in the Bird-Meertens formalism (BMF), starting from divide-and-conquer algorithm speciications. The contribution of the paper is twofold: (1) we classify divide-and-conquer algorithms and formally derive a parameterized family of parallel implementations for an important subclass of divide-and-conquer, called DH (distributable homomor-phisms); (2) we systematically adjust the mathematical speciication of the Fast Fourier Transform (FFT) to the DH format and thereby obtain a generic SPMD program, well suited for implementation under MPI. The target program includes the eecient FFT solutions used in practice the binary-exchange and the 2D-and 3D-transpose implementations as its special cases. 1. Motivation Formal methods ooer a way to cope with the problems of programming parallel machines. They can be viewed as an alternative to the current practice of low-level programming, when the correctness and performance of programs strongly depend on the program-mer's experience and require a cumbersome process of debugging and testing, followed by the performance monitoring and tuning to a particular architecture. We follow the general approach of transformational program derivation from an intuitively clear and correct speciication via exclusive use of semantically sound rules in a suitable formalism. Our formal base is the Bird-Meertens formalism (BMF), where higher-order functions on lists are used for speciication, and equational reasoning is used for program derivation. More speciically, we take the skeleton-based approach 4] which captures the ubiquitous patterns of paral-lelism in a mathematically rigorous, higherrorder way. The transformational, skeleton-based approach splits the task of parallel programming between two groups of experts: The system experts, rst, identify a set of parallel skeletons which adequately express non-trivial applications and, second, develop provably correct, portable parallel skeleton implementations with a predictable performance. This work requires a deep knowledge of both the design formalism and the target parallel software. The application experts should be shielded from both the parallel machine details and the underlying formalism (in our case BMF). Their knowledge of the application domain is used to do non-trivial changes and optimizations in the process of problem speciication and the adjustment of the speci-cation to the available set of skeletons. In the paper, we present a case study, which demonstrates this rrle distribution in the case of divide-and-conquer algorithms. On the system side, we classify algorithms, which are based on the divide-and-conquer strategy, and identify a subclass of divide-and-conquer functions, called DH (Distributable Homomorphisms). For this class, a …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Free Vibration Analysis of Repetitive Structures using Decomposition, and Divide-Conquer Methods

This paper consists of three sections. In the first section an efficient method is used for decomposition of the canonical matrices associated with repetitive structures. to this end, cylindrical coordinate system, as well as a special numbering scheme were employed. In the second section, divide and conquer method have been used for eigensolution of these structures, where the matrices are in ...

متن کامل

Formal Derivation of Parallel Program for 2-Dimensional Maximum Segment Sum Problem

It has been attracting much attention to make use of list homomorphisms in parallel programming because they ideally suit the divide-and-conquer parallel paradigm. However, they have been usually treated rather informally and ad-hoc in the development of e cient parallel programs. This paper reports a case study on systematic and formal development of a new parallel program for the 2-dimensiona...

متن کامل

طراحی ساختاری به روشDivide & Conquer و کاربرد آن در طراحی سوئیچ MSC

This paper presents the structural design for huge systems using Divide & Conquer (D&C) method as a scientific method for optimum designing of complex systems. This method divides the main system into several simple subsystems. Submitted equations in three different cases prove that the optimum response (number of subsystems for minimum system complexity) is independent of main system complexit...

متن کامل

Formal Derivation of Divide - and - Conquer 32

An SPMD parallel implementation schema for divide-and-conquer speciications is proposed and derived by formal reenement (transformation) of the speciication. The speciication is in the form of a mutually recursive functional deenition. In a rst phase, a parallel functional program schema is constructed which consists of a communication tree and a functional program that is shared by all nodes o...

متن کامل

Stages and Transformations in Parallel Programming

An approach, called SAT (Stages And Transformations), is introduced to support the derivation of parallel distributed-memory programs. During the design, a program is viewed as a single thread of stages, with parallelism concentrated within stages; the target program is of the SPMD format. The design process is based on the transformation rules of the Bird-Meertens formalism of higher-order fun...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997